#Moe Top-k

import sys

def main():
    data=sys.stdin.read().strip().split()
    if len(data)<4:
        print("error")
        return
    it=iter(data)

    try:
        n=int(next(it))
        m=int(next(it))
        p=int(next(it))
        k=int(next(it))
    except:
        print("error")
        return
    
    probs=[]
    for _ in range(n):
        try:
            probs.append(float(next(it)))
        except:
            print("error")
            return
        
    #基本校验
    if n<=0 or m<=0 or p<=0 or k<=0:
        print("error")
        return
    if n%m!=0:
        print("error")
        return
    if p>m:
        print("error")
        return
    
    g=n//m
    group_repr=[]

    for gi in range(m):
        L=gi*g
        R=L+g
        max_prob=-1.0
        max_idx=-1

        for idx in range(L,R):
            pr=probs[idx]

            if pr>max_prob or (abs(pr-max_prob)<1 and idx<max_idx ):
                max_prob=pr
                max_idx=idx

        group_repr.append((max_prob,gi,max_idx))

    #2
    group_repr.sort(key=lambda x:(-x[0],x[1]))
    chosen_group=set([gi for _, gi,_ in group_repr[:p]])


    #3
    pool=[]
    for gi in chosen_group:
        L=gi*g
        R=L+g

        for idx in range(L,R):
            pool.append((probs[idx],idx))

    if len(pool)<k:
        print("error")
        return
    
    pool.sort(key=lambda x:(-x[0],x[1]))
    chosen=[idx for _,idx in pool[:k]]

    chosen.sort()

    print(" ".join(map(str,chosen)))



main()

#编辑器手打，12分钟完成。


"""
输入例子：
6 3 2 2
0.3 0.1 0.05 0.6 0.4 0.2
输出例子：
3 4

"""
    


